package demo;

/**
 * @author ZhouWeiBo
 * @create 2022/6/7
 */
public abstract class AbstractHandler {
    /**
     * 下一处理节点
     */
    protected AbstractHandler nextHandler;

    /**
     * 设置下一处理节点
     */
    public void setNextHandler(AbstractHandler nextHandler){
        this.nextHandler = nextHandler;
    }

    /**
     * 定义当前节点处理等级
     * @return
     */
    public abstract int processLevel();

    /**
     * 定义处理动作
     * @param processLevel
     */
    public abstract void process(Integer processLevel);


}
